package newcodercyclecontrol;

import java.util.Scanner;

public class Exercise72 {

//    描述
//    给定长度为n的只有小写字母的字符串s，进行m次操作，每次将[l,r]范围内所有c1字符改成c2，输出操作完的字符串
//    输入描述：
//    第一行两个数n,m
//            第二行一个字符串s
//    之后m行，每行两个数l r两个字符c1 c2
//    输出描述：
//    输出一行一个字符串
//            示例1
//    输入：
//            5 3
//    wxhak
//3 3 h x
//1 5 x a
//1 3 w g
//    输出：
//    gaaak
//    说明：
//    第一次修改后为wxxak
//            第二次修改后为waaak
//    第三次修改后为gaaak
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        int n = scan.nextInt();
        int m = scan.nextInt();
        String str = scan.next();
        char[] arr = new char[n + 1];
        for (int i = 1; i < arr.length; i++) {
            arr[i] = str.charAt(i - 1);
        }
        int l = 0, r = 0;
        char c1 = 0, c2 = 0;
        while (m > 0) {
            l = scan.nextInt();
            r = scan.nextInt();
            c1 = scan.next().charAt(0);
            c2 = scan.next().charAt(0);
            for (int i = l; i <= r; i++) {
                if (arr[i] == c1) {
                    arr[i] = c2;
                }
            }
            m--;
        }
        for (int i = 1; i < arr.length; i++) {
            System.out.print(arr[i]);
        }
    }
}
